// 《围棋》作者版权所有。版权所有。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

// go:build ppc64 | | ppc64le 
// +build ppc64 ppc64le 

package cpu

// ppc64没有“cpuid”等价物，因此我们依赖于HWCAP/HWCAP2。
// 由archauxv初始化，初始化后不应更改。
var HWCap uint
var HWCap2 uint

// HWCAP位。这些都是Linux公开的。
const (
	// ISA级别
	hwcap2_ARCH_3_00 = 0x00800000

	// CPU功能
	hwcap2_DARN = 0x00200000
	hwcap2_SCV  = 0x00100000
)

func osinit() {
	PPC64.IsPOWER9 = isSet(HWCap2, hwcap2_ARCH_3_00)
	PPC64.HasDARN = isSet(HWCap2, hwcap2_DARN)
	PPC64.HasSCV = isSet(HWCap2, hwcap2_SCV)
}
